6. 1997
fast foward 20 years just after commercialization of internet to a perl conference
jon udell talks about websites as data sources that can be reused and remixed
today that idea isn’t very novel
7. a new programming paradigm
that takes the whole Internet
as its platform
1997
he also talked about a new programming paradigm
i don’t think we’re there yet
but this inspired ...
8. “What is the equivalent of the pipe
in the age of the web?”
tim oreilly to ask in 2000...
9. there seems to be resounding consensus the answer is feeds
they sound good in theory
10. it makes you think of feeds like in the telecom world
18. ?
• Crontab / Daemon
• Parsing
• Caching
this is just too much work sometimes
the other problem i have is with the command line metaphor for web apps
19. Command-line
Application
Start Stop
because a command line application is linear. it starts, runs, and stops
20. Web
Application
Always
Running
web apps are always running.
a better metaphor for this is a running process or daemon
21. here we have some daemons.
this is ps doom
so using this metaphor, how do daemons communicate?
23. lol
h4x
stfu
n00b
...
yeah. my experience with ipc was pretty bad.
ipc usually involves some sort of shared memory mechanism, like a queue
24. it turns out amazon provides a queue web service
but with a third party queue you only defer the polling
it doesn’t solve the problem, its just fancier rss
25. so this is not the solution, and probably why not too many people use or know of it
27. Web Hooks
web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
28. Web Hooks
• User Callbacks
• Triggers
• Event Handlers
• “Plugouts”
web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
34. the main mechanism is a standard http post, which is trivial in most environments
35. Easy (enough) for Users
it’s also very open and easy for the users, which will generally be advanced users, but can easily be
taken advantage of by novice users
36. as a user, to take advantage of hooks, you’d write a script to handle an event, like the commit
this is a very simple script
44. Commit!
this makes the user a happy cookie.
and this is a trivial example, using only on web service.
imagine using the api of another in the hook script and chaining these things together
45. Commit!
but even in this simple example, you see the power it gives to the user and to the data that we’re
trying to “open up” to our users
46. STDIN STDOUT
Program
back to piping on the command line, remember that it was simple infrastructure that gave you
tremendous power, and one of the key components was making it easy to chain commands
47. STDIN
Program
we wouldn’t be able to do it without the output part of it
48. API
Web App
unfortunately that’s how the web is today.
the only output you can get is by using the input (api, feed)
49. API Hooks
Web App
web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm
50. Program the Web
the possibilities become very rich and i’ve thought about it a lot
there’s probably a lot more
imagine realtime data syncronization
or a chain of events that makes these apps work together in a way you’ve never imagined
54. API Hooks
Web App
web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm