Superglue: Web Hooks and the Future of the Web

100 %
0 %
Information about Superglue: Web Hooks and the Future of the Web
Technology

Published on May 15, 2009

Author: progrium

Source: slideshare.net

Description

This is the talk I gave at GlueCon. Based on same deck as the Pivotal Labs talk, but slightly different and updated notes.

webhooks jeff lindsay pro tip: @progrium for questions

webhooks jeff lindsay pro tip: @progrium for questions

superglue

WEBHOOKS AND THE FUTURE OF THE WEB

web•hooks |ˈwebˌhoŏks| pattern of enabling user-defined callbacks in web applications

problem solution examples implementation inspiration future

problem?

‣ notifications ‣ data syncing ‣ chaining ‣ modification ‣ plugins

‣ notifications ‣ data syncing ‣ chaining ‣ modification ‣ plugins

‣ notifications “I wish I could get notifications exactly ‣ data syncing how I want.” ‣ chaining ‣ modification ‣ plugins

‣ notifications ‣ data syncing “I wish my web apps would keep overlapping ‣ chaining data in sync.” ‣ modification ‣ plugins

‣ notifications ‣ data syncing ‣ chaining “I wish I could make another app do something ‣ modification when I use this app.” ‣ plugins

‣ notifications ‣ data syncing ‣ chaining ‣ modification “I wish I could make ‣ plugins this app work just slightly differently.”

‣ notifications ‣ data syncing ‣ chaining ‣ modification “I wish I could let my ‣ plugins users extend/build plugins for my app.”

} ‣ notifications ‣ data syncing ‣ chaining programmability ‣ modification ‣ plugins

WEBHOOKS

WEBHOOKS Huh?

web•hooks |ˈwebˌhoŏks| pattern of enabling user-defined callbacks in web applications

us•er |ˈyoōzər|

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

“In computer programming, hooking is a technique used to alter or augment the behavior of [a program], often without having access to its source code.”

webhooks origin

subversion hooks repository working copy foo

subversion hooks repository working copy foo foo

subversion hooks repository foo

subversion hooks repository bar foo

subversion hooks repository bar foo

subversion hooks repository bar bar

subversion hooks repository pre-commit foo bar post-commit

subversion hooks repository pre-commit foo bar post-commit

subversion hooks Does this user have repository permission? pre-commit Is this change valid? foo bar post-commit

subversion hooks repository pre-commit foo bar post-commit

subversion hooks repository pre-commit bar bar post-commit

subversion hooks repository pre-commit bar bar Send a notice to IRC post-commit Try to build the project

subversion hooks repository bar bar

subversion hooks repository A new change was committed by Jeff. bar bar

subversion hooks repository bar bar Damn it Jeff, you broke the build!

paypal ipn

paypal ipn

paypal ipn

webhooks SO SIMPLE YOUʼLL THINK ITʼS STUPID

webhooks anatomy web app

webhooks anatomy web app db

webhooks anatomy ui web app db

webhooks anatomy ui web app db

webhooks anatomy ui web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event callback

webhooks anatomy ui api web app event event db event callback

webhooks anatomy ui api web app event event db event

webhooks anatomy

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

examples

DEPLOY

PUSH

Hey guys, pull.

k

DEPLOY

PUSH

Hey guys, pull.

k

DEPLOY

Hooks?

http://myserver.com/script

http://myserver.com/script R ISTE REG

PUSH

PUSH

Hey guys, pull.

k

OY PL E D

1. define achievements here 2. add trigger pings to your backend 3. paste javascript into your layout

not done yet, but... QUESTIONS?

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins one, simple solution

how to implement

1. design callback channels per noun or per verb on noun wiki crud? project install/uninstall account pre-commit/post-commit plugin vs

2. create registration method web ui or api both? :)

3. choose payload format POST parameters JSON XML

4. add trigger code to events

5. consider these options queuing posts HMAC verification retry return data filtering

ecosystem

protocol-droid

protocol-droid coming soon...

inspiration

Todos Basecamp

Hey, there’s an event hook here!

Save

future

what to expect from webhooks

what to expect from webhooks sharing

what to expect from webhooks sharing standardization

what to expect from webhooks sharing standardization

what to expect from webhooks sharing standardization tools

what to expect from webhooks sharing standardization integration tools

what to expect from webhooks sharing standardization integration tools

what to expect from webhooks

web of things embedded devices are getting more powerful and connected

web of things “API for everything”

programming literacy As programming becomes more important, it will leave the back room and become a key skill and attribute of our top intellectual and social classes, just as reading and writing did in the past. Marc Prensky

program the world cloud computing + == near real “magic” web of things + easier programmability

use webhooks! join the community http://webhooks.org

ok, itʼs over... QUESTIONS?

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Superglue - How it works

Learn more about how the Superglue ... The Superglue firmware transforms the device into a personal web hosting platform. In the future we ... it hooks up ...
Read more

Web Hooks | LinkedIn

View 171 Web Hooks posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn.
Read more

Loctite All Plastics Glue: Amazon.co.uk: Kitchen & Home

Loctite All Plastics Glue by ... Normal superglue had absolutely no effect ... I will be buying more in future am quite sure.
Read more

Home | Sugru

To successfully apply Sugru to any smooth surface, ... Attach handy hooks anywhere without drilling. Easy as pie! 5. How to make protective corners for ...
Read more

About Sugru | Sugru

Sugru’s unique, patented formula has ... Sugru can handle heat up to 180°C (356°F), so it’s great for replacing pot handles or adding hooks to ...
Read more

Loctite All Plastics Glue: Amazon.co.uk: Kitchen & Home

I will be buying more in future am quite sure. ... Normal superglue had absolutely ... Needed to stick plastic hooks to my plastic windows to suspend thin ...
Read more